﻿using System;
using BasePersistenceNamespace.NHibernate;
using NHibernate;

namespace MainPersistenceNamespace.NHibernate
{
    /// <summary>
    /// NHibernate を利用して実装される作業スペースのファクトリです。
    /// </summary>
    public sealed class NWorkspaceFactory : NWorkspaceFactoryBase
    {
        /// <summary>
        /// <see cref="NWorkspaceFactory"/> クラスの新しいインスタンスを初期化します。
        /// </summary>
        public NWorkspaceFactory()
        {
#error 適切なパラメータを定義し、_connectionString を設定するコンストラクタを実装する必要があります。
        }


        /// <summary>
        /// 接続文字列。
        /// </summary>
        private readonly string _connectionString;


        /// <inheritdoc/>
        protected override ISessionFactory GetSessionFactory()
        {
            return NHConfig.GetSessionFactory(_connectionString);
        }
    }
}
